The Internet is changing the printing and imaging requirements in the office and at home. Most web sites and documents are designed for CRT screens and are rich in color and image content. Although inkjet printers are capable of handling color and images, their relatively slow speed and the high cost for consumables (ink, special paper) aren't well suited for office application. The typical office or home user's expectation with regard to speed, quality, and cost is more aligned to the monochrome network printers that prevail today.
The Internet facilitates instant updating and distributing of documents, a huge advantage when handling up-to-date information and data. The availability of fast, inexpensive, and high-quality color printers will also eventually change the way we handle production printing (news magazine, brochures, catalogs) in the future, moving from the current "high volume printing in central locations and distribute" to an Internet based "distribute and print locally" production print model.
This print model requires network-ready printers that have-in addition to the legacy IEEE-1284 parallel port (about 1 MByte/s) and the more recent USB 1.1 (up to 12 Mbit/s) interfaces-10/100 Mbit Ethernet integrated as a standard feature. The IEEE-1394 interface (up to 400 Mbit/s) as well as the future USB2.0 interface (up to 480 Mbit/s) will provide adequate throughput for faster print engines. Additionally, efforts are underway to enable wireless printing utilizing wireless local area network (LAN) technology like IEEE-802.11b or wireless personal area network (PAN) technology like Bluetooth. Thin clients like PDAs and cellular phones may require the printer to have both a high-speed wired connection to a server (to process content rich print jobs), and a relatively slow speed wireless interface like Bluetooth for communication with the PDA (to identify the print job, specify the web address for the document and the appropriate print server).
Advancements in color laser printers (output quality and speed) and the migration to digital copiers (color laser copiers) make them credible candidates for replacing monochrome network printers. For home users, the determining factor for buying a color laser printer is probably the price (compared to inkjet and monochrome laser), which must currently fall below $1,000 for wide market penetration.
The processing requirements for color printers are at least four times higher compared to monochrome printers at equivalent page rates. Color printers usually have four process colors (cyan, magenta, yellow, and black) instead of one (black)-some actually use more than four process colors.
A color printer (four-color CMYK) with a resolution of 1200 dpi (dots per inch) may require more than 60 MB of image data for standard letter size paper. An engine with a page rate of 16 pages per minute requires these 60 MB of image data to be generated and transferred to the engine in less than 4 seconds. The actual raw data generation requirements are usually much higher and depend on the imaging technique (resolution enhancement, color correction, half-toning) that is being applied.
The printer market is very cost sensitive. Price developments have been closely aligned to the PC price trends. Most laser printers (monochrome as well as color) on the market today utilize embedded processors, with MIPS being the dominant architecture in today's market.
The design requirements
CPU, I/O, and memory bandwidth requirements, as well as the need for a low-cost solution, point to system-on-a-chip (SOC) designs for printer and digital copier applications. Today, "generic" intellectual property (IP) like CPUs and interfaces like USB, Ethernet, 1394, and PCI are available from multiple sources. Printer manufacturers strive to differentiate their products primarily through superior output quality and print speed. They apply proprietary IP to accelerate image processing (page description to raster conversion) and to enhance image quality (resolution enhancement, half-toning, dithering). An SOC design that combines the generic IP and proprietary IP represents the most cost-effective solution. There is no real value in designing these standard blocks from scratch.
Time-to-market considerations, as well as IP verification and integration, are key issues when deciding on an SOC approach. The reuse of available IP along with flexible and expandable IP interconnect architecture are equally important.
The integration of IP from several different sources can require significant design effort that may reduce the overall value of using third-party IP in the first place, especially for IP of relatively limited complexity. Aside from this effort, the necessary verification effort can turn out to be even more labor intensive and can potentially uncover design issues and verification holes that need to be solved in concert with the IP vendor.
Taking these important issues into consideration, it's prudent to select an interconnect bus that has been widely adopted in the industry. This selection provides increased and independent verification by a number of different users/vendors at the same time-and provides higher verification coverage, which facilitates better IP quality and reusability.
LSI Logic (Milpitas, CA) has adopted the Advanced Micro-controller Bus Architecture (AMBA) 2.0 as the interconnect bus for it's IP CoreWare library. LSI Logic has worked closely with ARM Ltd. (Cambridge, U.K.) on the AMBA 2.0 specification to ensure manufacturability and testability. The AMBA bus puts emphasis on modular system design, thus improving processor independence. LSI Logic implements the AMBA's advanced high-performance bus (AHB)/advanced peripheral bus (APB), which is based on multiplexed bus architecture with single edge clock reference, compared to the tri-state bus architecture used in previous AMBA bus implementations (see Figure 1).
Characterizing the bus
The AMBA bus width definition is flexible allowing 32-, 64-, and 128-bit wide buses. The following discussion and figures illustrate an AMBA based chip architecture implementing a 32-bit wide AHB and APB bus. AMBA's AHB connects high-performance and high clock frequency system modules, while featuring multi-master capability, burst transfers, and split transactions.
The objective of AHB is to allow the transfer of data between a master and a slave. AHB masters can initiate transfers to or from a slave by providing an address within peripheral address space. AHB slaves provide or accept data from masters when selected.
A slave can delay data transmission or return error codes. Examples of AHB masters are processors like ARM or MIPS processor cores or other DMA (Direct Memory Access) capable peripherals like Ethernet MACs or USB host/device controllers.
The main AHB signals are:
HCLK bus reference clock
HADDR address
(generated by AHB master)
HWRITE Transfer direction:
read/write
(generated by AHB master)
HREADY Transfer complete response
(generated by AHB slave)
HWDATA Write Data Bus
(from AHB master to AHB slave)
HRDATA Read Data Bus
(from AHB slave to AHB master)
A basic AHB transfer occurs when a single data transfer is read from or written to a slave. The data size can be a Byte, a Half-Word (2 bytes) or a Word (4-bytes).
In addition to the above signals, the AHB control and status signals are:
HRESP Transfer status
(generated by AHB slave)
HBURST Burst mode
(generated by AHB master)
HTRANS Transfer status
(generated by AHB master)
HSIZE Burst length
(generated by AHB master)
HPROT Protection type
(generated by AHB master)
The AHB peripheral may deliver/
accept data immediately or may insert wait states by asserting the HREADY signal. Slave returns also transfer
status via the HRESP signals, the status can be:
OKAY: transfer successful - default response to signal transfer completed successfully.
ERROR: unsuccessful transfer-indicates that an abort has occurred (for instance, access to a non-existent memory location).
RETRY: Slave can't perform operation immediately; master should re-attempt access later.
SPLIT: request queued by slave-slave will notify when ready to provide/accept data, used to break a multiple transfers (burst).
The major difference between retry versus split is that the retry operation simply indicates that the slave isn't ready; the master may retry at any time. Alternatively, split operation involves a more complex protocol through which the slave notifies the arbiter when it is ready. A split transaction is an optional slave feature and requires complex logic in the slave. Simple slave implementations cannot include split functionality and only return OKAY or ERROR responses.
In order to prevent a deadlock situation in the case of all AHB master receiving split responses, bus ownership will be granted to a default AHB master. A slave can provide a split response to more than one master-a queue of two masters to be serviced.
During basic AHB transfers, address and control lines are sampled on clock rising edge. Since slave-decoding logic is combinatorial, at the end of an addressing cycle, a slave detects if it has been selected and which internal location has been addressed (basic AHB write transfers).
Sampling the data
After sampling the address, the slave must determine whether it will be able to provide or accept data in the next cycle and assert HREADY accordingly; otherwise wait states need to be inserted (by asserting the HREADY signal low).
Although it is possible to insert more than one wait state, it should be noted that this would hold up bus operations. Alternatively, a write buffer can be incorporated into the slave to reduce the possibility of wait states for write operations, or the RETRY return code response can be used to free the bus.
For AHB Burst transfers, the burst type is encoded in the HBURST signals, which are outputs from AHB masters and synchronous with the addresses. The available burst modes are:
Single transfer (bye/half-word/word);